package com.shop.service;

import com.shop.dto.GoodsDTO;
import com.shop.dto.GoodsPageQueryDTO;
import com.shop.entity.Goods;
import com.shop.result.PageResult;
import com.shop.vo.GoodsVO;

import java.util.List;

public interface GoodsService {

    /**
     * 新增商品以及对应的口味数据
     * @param GoodsDTO
     */
    public void saveWithFlavor(GoodsDTO GoodsDTO);

    /**
     * 商品分页查询
     * @param goodsPageQueryDTO
     * @return
     */
    PageResult pageQuery(GoodsPageQueryDTO goodsPageQueryDTO);

    /**
     *
     * 商品批量删除
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     *根据id查询商品
     * @param id
     * @return
     */
    GoodsVO getByidWithFlavor(Long id);

    /**
     * 根据id修修改商品对应的信息以及口味信息
     * @param goodsDTO
     */
    void updateWithFlavor(GoodsDTO goodsDTO);

    /**
     * 起售停售商品
     * @return
     */
    void startOrStop(Integer status, Long id);

    /**
     * 根据分类id查询商品
     * @param categoryId
     * @return
     */
    List<Goods> list(Long categoryId);

    /**
     * 条件查询商品和口味
     * @param goods
     * @return
     */
    List<GoodsVO> listWithFlavor(Goods goods);
}
